#ifndef NAOJOINTCONTROL_H
#define NAOJOINTCONTROL_H

#include <ros/ros.h>
// Aldebaran includes
#include <almemoryproxy.h>
#include <almotionproxy.h>
#include <alvisiondefinitions.h>
#include <alerror.h>
#include <alvalue.h>
#include <altoolsmain.h>
#include <alproxies/alvideodeviceproxy.h>
#include <alcommon/albroker.h>
#include <alcommon/albrokermanager.h>
#include <alcommon/alproxy.h>
#include <alproxies/alproxies.h>
#include <alproxies/almotionproxy.h>
#include <alproxies/almemoryproxy.h>
#include <alcommon/almodule.h>
#include <alcommon/albroker.h>
#include <alcommon/albrokermanager.h>
#include <boost/program_options.hpp>

using namespace std;

class NaoJointcontrol
{
public:
    NaoJointcontrol(int argc, char ** argv);
    ~NaoJointcontrol();

    bool connectProxy();
    void run();
protected:
    std::string m_ip;
    int m_port;

    boost::shared_ptr<AL::ALMotionProxy> m_motionProxy;
    boost::shared_ptr<AL::ALMemoryProxy> m_memoryProxy;

};

#endif // NAOJOINTCONTROL_H
